﻿$(document).ready(function () {


    $(".mnuConsultarOrdenCompra").click(function () {
        cargarConsultarOrdenCompra();
    });

    $(".mnuSolicitudCompraInsumo").click(function () {
        cargarSolicitudCompraInsumo();
    });

    $(".mnuProyeccionVenta").click(function () {
        cargarProyeccionVenta();
    });

    function cargarConsultarOrdenCompra() {

        $.ajax({
            url: URL_PAGE + 'Administrador/Main/ConsultarOrdenCompra',
            type: 'POST',
            success: function (data) {
                $("#principal").html('');
                $("#principal").html(data);
                cargarListaConsultarOrdenCompra();
            }
        });
    }

    function cargarListaConsultarOrdenCompra() {

        $.ajax({
            url: URL_PAGE + 'Administrador/Main/ConsultarOrdenCompraList',
            type: 'POST',
            success: function (data) {
                $("#principal").find("#detConsultaOC").html('');
                $("#principal").find("#detConsultaOC").html(data);
            }
        });
    }

    function cargarProyeccionVenta() {

        $.ajax({
            url: URL_PAGE + 'Administrador/Main/ProyeccionVenta',
            type: 'POST',
            success: function (data) {
                $("#principal").html('');
                $("#principal").html(data);
            }
        });
    }

    $(".buscarSolicitud").click(function () {
        alert("esta buscando una solicitud");
    });

    $("#principal").delegate('.buscarSolicitud', 'click', function () {
        cargarListaSolicitudCompraInsumo($("#principal").find(".tipo").val(), $("#principal").find("#descripcion").val(), $("#principal").find(".fechaSolicitud").val());
    });

    $("#principal").delegate('.nuevaSolicitud', 'click', function () {
        cargarNuevaSolicitudCompraInsumo(null);
        cargarNuevaListaSolicitudCompraInsumo(null);
    });

    $("#principal").delegate('#agregarInsumo', 'click', function () {
        //alert($("#principal").find(".Tipo_Solicitud").val());
        //return false;
        buscarInsumo($("#principal").find(".Tipo_Solicitud").val());
    });

    //Boton EDITAR de la busqueda de solicitudes
    $("#principal").delegate('.editarSolicitudInsumo', 'click', function () {
        //        alert("Editando");
        cargarNuevaSolicitudCompraInsumo($(this).attr('data-numerosolicitud'));
        //validarEstadoSolicitud($(this).attr('data-numerosolicitud'));
        //alert("valor del estado-->" + estado);
        //        if (estado) {
        //            cargarNuevaSolicitudCompraInsumo($(this).attr('data-numerosolicitud'));
        //        } else {
        //            alert("La solicitud seleccionada ya fue atendida.");
        //        }
    });

    //    function validarEstadoSolicitud(nroSol) {
    //        //alert("entrando a validar--->" + nroSol);
    //        //var estado = false;
    //        $.ajax({
    //            url: URL_PAGE + 'Administrador/Main/validarEstadoSolicitudInsumo',
    //            type: 'POST',
    //            data: { numSol: nroSol },
    //            success: function (data) {
    //                //alert("en success" + data.toUpperCase());
    //                if (data == 'True') {
    //                    alert("entro a if de success");
    //                    cargarNuevaSolicitudCompraInsumo(nroSol);
    //                } else {
    //                    alert(data.toUpperCase());
    //                    alert("La solicitud seleccionada ya fue atendida.");
    //                }
    //            }
    //        });

    //        //return estado;
    //    }

    //Boton eliminar de la busqueda de solicitudes
    $("#principal").delegate('.eliminarSolicitudInsumo', 'click', function () {
        if (confirm("Esta Seguro de eliminar el registro seleccionado")) {
            eliminarSolicitudInsumo($(this).attr('data-numerosolicitud'));
        }
    });

    //Boton ELIMINAR del DETALLE de solicitudes de insumo
    $("#principal").delegate('.eliminarDetalleSolicitudInsumo', 'click', function () {
        if (confirm("Esta Seguro de eliminar el registro seleccionado")) {
            eliminarDetalleSolicitudInsumo($(this).attr('data-numerosolicitud'), $(this).attr('data-codigoinsumo'));
        }
    });

    //Boton EDITAR del DETALLE de solicitudes de insumo
    $("#principal").delegate('.editarDetalleSolicitudInsumo', 'click', function () {
        //alert("editando");
        editarDetalleSolicitudInsumo($(this).attr('data-numerosolicitud'), $(this).attr('data-codigoinsumo'), $(this).attr('data-cantidad'));
    });

    function ValidarSolicitudInsumo(tipoSol, descripcion, fechaEnt) {

        if (tipoSol == "SELECCIONE") {
            alert("Debe Selecciona el Tipo de Solicitud");
            return false;
        }

        if (descripcion == "") {
            alert("Debe escribir una Descripción de la solicitud");
            return false;
        }

        if (fechaEnt == "") {
            alert("Debe ingresar la Fecha de Entrega");
            return false;
        }

    }

    $("#principal").delegate('.mantGrabar', 'click', function () {
        var descripcion = $("#principal").find(".Descripcion").val();
        var nroSol = $("#principal").find(".Numero_Solicitud").val();
        var tipoSol = $("#principal").find(".Tipo_Solicitud").val();
        var fechaSol = $("#principal").find(".Fecha_Solicitud").val();
        var fechaEnt = $("#principal").find(".Fecha_Entrega").val();


        if (ValidarSolicitudInsumo(tipoSol, descripcion, fechaEnt)) {
            if (confirm("Desea Guardar el Registro")) {
                grabarSolicitudInsumo(nroSol, tipoSol, fechaSol, fechaEnt, descripcion);
                //cargarSolicitudCompraInsumo();
            }
        }



    });

    $("#principal").delegate('.salirSolicitud', 'click', function () {
        cargarSolicitudCompraInsumo();
    });

    function editarDetalleSolicitudInsumo(numSol, codIns, cant) {
        //alert("buscando insumo");
        var modal = $('#modal-insumo');
        //alert(modal.html);
        $.ajax({
            url: URL_PAGE + 'Administrador/Main/BuscarInsumo',
            type: 'POST',
            data: { numeroSolicitud: numSol, idInsumo: codIns, cantidad: cant },
            success: function (data) {

                modal.find(".modal-header").find("h3").html("Buscar Insumo");
                modal.find(".modal-body").html(data);
                modal.find(".modal-body").find("#cantidadInsumo").addClass("validate[required]");
                modal.css({
                    width: '500px',
                    'margin-left': function () {
                        return -($(this).width() / 2);
                    }
                });
                modal.modal();
            }
        });
    }

    function eliminarDetalleSolicitudInsumo(numeroSolicitud, codigoInsumo) {
        $.ajax({
            url: URL_PAGE + 'Administrador/Main/eliminarDetalleSolicitudInsumo',
            type: 'POST',
            data: { numSol: numeroSolicitud,
                codIns: codigoInsumo
            },
            success: function (data) {
                if (data) {
                    cargarNuevaListaSolicitudCompraInsumo();
                }
            }
        });
    }

    function imprimirSolicitudInsumo(numeroSolicitud) {
        $.ajax({
            url: URL_PAGE + 'Administrador/Main/imprimirSolicitudInsumo',
            type: 'POST',
            data: { numSol: numeroSolicitud },
            success: function (data) {
                $("#principal").html('');
                $("#principal").html(data);
            }
        });
    }

    function eliminarSolicitudInsumo(numeroSolicitud) {
        $.ajax({
            url: URL_PAGE + 'Administrador/Main/eliminarSolicitudInsumo',
            type: 'POST',
            data: { num_sol: numeroSolicitud },
            success: function (data) {
                if (data) {
                    cargarListaSolicitudCompraInsumo();
                }
            }
        });
    }

    function buscarInsumo(tipoSolicitud) {
        //alert("buscando insumo");
        var modal = $('#modal-insumo');
        //alert(modal.html);
        $.ajax({
            url: URL_PAGE + 'Administrador/Main/BuscarInsumo',
            type: 'POST',
            success: function (data) {
                //alert("asdasds");

                modal.find(".modal-header").find("h3").html("Buscar Insumo");
                modal.find(".modal-body").html(data);
                modal.find(".modal-footer").find("#tipoSol").val(tipoSolicitud);
                modal.css({
                    width: '500px',
                    'margin-left': function () {
                        return -($(this).width() / 2);
                    }
                });
                modal.modal();
            }
        });
    }

    function grabarSolicitudInsumo(nroSol, tipoSol, fecSol, fecEnt, desc) {

        $.ajax({
            url: URL_PAGE + 'Administrador/Main/RegistrarSolicitudInsumo',
            type: 'POST',
            data: {
                Numero_Solicitud: nroSol,
                Tipo_Solicitud: tipoSol,
                Fecha_Solicitud: fecSol,
                Fecha_Entrega: fecEnt,
                Descripcion: desc
            },
            success: function (data) {
                if (data) {
                    //cargarNuevaListaSolicitudCompraInsumo();
                    cargarSolicitudCompraInsumo();
                    alert("La Solicitud de Compra se registro correctamente");
                }


            }
        });
    }

    function cargarNuevaSolicitudCompraInsumo(nroSol) {
        $.ajax({
            url: URL_PAGE + 'Administrador/Main/MantSolicitudCompraInsumo',
            type: 'POST',
            data: { numeroSol: nroSol },
            success: function (data) {
                if (data == "[object XMLDocument]") {
                    alert("La solicitud seleccionada se encuentra atendida");
                } else {
                    $("#principal").html('');
                    $("#principal").html(data);
                    $("#principal").find("#mantFechaSolicitud").datepicker();
                    $("#principal").find("#mantFechaEntrega").datepicker();
                    //Se carga el detalle de la solicitud de insumo
                    cargarNuevaListaSolicitudCompraInsumo(nroSol);
                }

            }
        });
    }

    function cargarSolicitudCompraInsumo() {

        $.ajax({
            url: URL_PAGE + 'Administrador/Main/SolicitudCompraInsumo',
            type: 'POST',
            success: function (data) {
                $("#principal").html('');
                $("#principal").html(data);
                //alert($("#principal").find("#fechaSolicitud").html());
                $("#principal").find("#fechaSolicitud").datepicker();

                cargarListaSolicitudCompraInsumo("", "", null);
            }
        });
    }

    function cargarListaSolicitudCompraInsumo(tipoSol, desc, fecSol) {
        $.ajax({
            url: URL_PAGE + 'Administrador/Main/SolicitudCompraInsumoList',
            type: 'POST',
            data: { tipoSolicitud: tipoSol, descripcion: desc, fechaSol: fecSol },
            success: function (data) {
                $("#principal").find("#detalleSolicitud").html('');
                $("#principal").find("#detalleSolicitud").html(data);
            }
        });
    }

    function cargarNuevaListaSolicitudCompraInsumo(nroSol) {
        //alert("cargando");
        $.ajax({
            url: URL_PAGE + 'Administrador/Main/MantSolicitudCompraInsumoList',
            type: 'POST',
            data: { numeroSol: nroSol },
            success: function (data) {
                $("#principal").find("#mantDetalleSolicitud").html('');
                $("#principal").find("#mantDetalleSolicitud").html(data);


            }
        });
    }





    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /*SOLICITUD DE ORDEN DE COMPRA*/
    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    $(".mnuSolicitudOrdenCompra").click(function () {

        cargarBusquedaOrdenCompra();
    });


    function cargarBusquedaOrdenCompra() {

        $.ajax({
            url: URL_PAGE + 'Administrador/Main/OrdenCompra',
            type: 'POST',
            success: function (data) {
                $("#principal").html('');
                $("#principal").html(data);

                $("#principal").find("#fechaSolicitudInicio").datepicker();
                $("#principal").find("#fechaSolicitudFin").datepicker();

                cargarListOrdenCompra();
            }
        });
    }

    function cargarListOrdenCompra() {
        $.ajax({
            url: URL_PAGE + 'Administrador/Main/DetalleOrdenCompra',
            type: 'POST',
            //data: { tipoSolicitud: tipoSol, descripcion: desc, fechaSol: fecSol },
            success: function (data) {
                $("#principal").find("#detalleOrdenCompra").html('');
                $("#principal").find("#detalleOrdenCompra").html(data).fadeIn('slow');
            }
        });
    }

    $("#principal").delegate('#anularOrdenCompra', 'click', function () {
        //alert("Anular Orden de Compra");
        anularOrdenCompra();
    });


    $("#principal").delegate('#generarOrdenCompra', 'click', function () {
        var cantChecks = 0
        $('#tableDetalleOC tr').filter(':has(:checkbox:checked)').each(function () {
            cantChecks++;
        });

        if (cantChecks == 0) {
            alert("No se ha seleccionado ningún registro para la regeneración de orden de compra.");
            return false;
        }


        if (confirm("Esta seguro de generar la Orden de Compra?")) {
            $('#tableDetalleOC tr').filter(':has(:checkbox:checked)').each(function () {
                generarOrdenCompra($(this).attr("data-codigoproveedor"));
            });
        }

    });

    function generarOrdenCompra(idProveedor) {
        $.ajax({
            url: URL_PAGE + 'Administrador/Main/generarOrdenCompra',
            type: 'POST',
            data: { codigoProveedor: idProveedor },
            success: function (data) {
                cargarListOrdenCompra();

                //Se genera la orden de compra en el servidor
                genericInNewWin(data);


                //                $("#principal").html('');
                //                $("#principal").html(data);
            }
        });
    }

    function anularOrdenCompra() {
        $.ajax({
            url: URL_PAGE + 'Administrador/Main/AnularOrdenCompra',
            type: 'POST',
            //data: { tipoSolicitud: tipoSol, descripcion: desc, fechaSol: fecSol },
            success: function (data) {
                $("#principal").html('');
                $("#principal").html(data);
            }
        });
    }

    function busquedaOC() {
        $.ajax({
            url: URL_PAGE + 'Administrador/Main/BuscarOrdenCompra',
            type: 'POST',
            //data: { tipoSolicitud: tipoSol, descripcion: desc, fechaSol: fecSol },
            success: function (data) {
                $("#principal").html('');
                $("#principal").html(data);
            }
        });
    }
    function anulacionOC(nro, motivoAnula) {
        $.ajax({
            url: URL_PAGE + 'Administrador/Main/AnulacionOC',
            type: 'POST',
            data: { numeroOc: nro, motivo: motivoAnula },
            success: function (data) {
                //alert(data);
                //if (data.toString() == "True") {
                alert("La anulación se realizo exitosamente");
                cargarBusquedaOrdenCompra();

                //}
            }
        });
    }


    $("#principal").delegate('#buscarOrdenCompra', 'click', function () {
        //alert("buscando OC");
        busquedaOC();
    });


    $("#principal").delegate('#btnAnularOC', 'click', function () {
        if ($("#principal").find(".motivoAnulacion option:selected").val() == -1) {
            alert("Debe elegir un motivo para realizar la anulación");
            return false;
        }

        if (confirm("¿Está seguro de Anular la Orden de Compra?")) {
            anulacionOC($("#principal").find("#hidNroOc").val(), $("#principal").find(".motivoAnulacion option:selected").text());
        }
    });

    $("#principal").delegate('#btnSalirOC', 'click', function () {
        cargarBusquedaOrdenCompra();
    });

    $("#principal").delegate('.btn-VerDetalleInsumo', 'click', function () {
        verDetalleInsumo($(this).attr('data-nrooc'), $(this).attr('data-codigoproveedor'));
    });


    function verDetalleInsumo(nroOrdenCompra, codProveedor) {
        //alert("buscando insumo");
        var modal = $('#modal-detalleInsumo');
        //alert(modal.html);
        $.ajax({
            url: URL_PAGE + 'Administrador/Main/VerDetalleInsumo',
            type: 'POST',
            data: { numeroOC: nroOrdenCompra, codigoProveedor: codProveedor },
            success: function (data) {
                modal.find(".modal-header").find("h3").html("Detalle de Insumo");
                modal.find(".modal-body").html(data);
                //modal.find(".modal-footer").find("#tipoSol").val(tipoSolicitud);
                modal.css({
                    width: '700px',
                    'margin-left': function () {
                        return -($(this).width() / 2);
                    }
                });
                modal.modal();
            }
        });
    }



    $("#principal").delegate('.verPDFOrdenCompra', 'click', function () {
        //alert("reporteado");
        genericInNewWin($(this).attr("data-nrooc"));


    });

});



function genericInNewWin(nroOc) {
    //alert(nroOc);
    var oParam = { "numeroOc": "" };
    oParam.numeroOc = nroOc;
    $.ajax({
        url: '../../Main/ShowGenericReportInNewWin',
        data: JSON.stringify(oParam),
        type: 'POST',
        contentType: 'application/json;',
        dataType: 'json',
        success: function (data) {
            window.open("../AspNetForms/aspnetCRViewer.aspx", 'Reporte', 'fullscreen=yes, scrollbars=auto');
        },
        error: function () {
            alert("error!");
        }
    });


}